Method for decoding 2x2 spatiotemporal codes, in particular golden type code

ABSTRACT

A method is provided for decoding spatiotemporal codes, in particular Golden type code. The received vector is subjected to a MMSE-GDFE filtering, a constellation re-centering to define a Z-matrix, a permutation to obtain X-shaped matrices, a trellis base reduction and a ZF-DFE algorithm by processing the elements of the Z-matrix layer by layer. Each layer includes both elements of the diagonal or anti-diagonal of the Z-matrix.

The present invention relates to a method for decoding 2×2 space-time codes of a vector Y, in particular of the Golden Code type. The present invention can also be applied to 2×2 space-time codes meeting the following conditions:

-   -   the code has a structure in two layers,     -   each layer representing the canonical embedding of a principal         ideal of the ring of integers αZ[i,θ] of a number field Q[i,θ]         of degree 2 with respect to Q[i],     -   the canonical embedding matrix being proportional to a unitary         matrix.

In a general manner, in a wireless communication system, using electromagnetic waves as the physical transmission medium, multiple reflections (multiple paths) due to the different obstacles in the propagation space (propagation in the urban environment or in the “indoor” environment) induce phenomena of fading of the signal, i.e. that over a complete frequency range, it is possible to observe destructive interference. The relative movement of the environment with respect to the transmitter and to the receiver makes these fading phenomena stochastic. These fading channels considerably penalise the performance of conventional digital communication systems. To combat fading phenomena effectively, it is necessary that the receiver has available several replicas containing the information transmitted, replicas which have suffered mutual independent fading. The concept of diversity refers to the creation of these replicas and the order of diversity is defined as the number of “independent” replicas which the receiver has available. To mention some examples of diversity: time diversity (the information is repeated with a time difference greater than the coherence interval in order that there is decorrelation between the replicas), frequency diversity, path diversity in CDMA systems, receive antenna diversity. Since 1996, a new coding method, named Space-time coding, using several transmit and receive antennas, has allowed the use of a new form of diversity: transmit antenna diversity. Space-time coding is not the only technique resorting to several transmit and receive antennas: these techniques are combined under the name MIMO (Multiple Input Multiple Output). Recourse to Space-time coding over several antennas considerably improves the performance (owing to diversity) and information rate (owing to multiplexing) of telecommunications systems in an environment having fading (“fading channel”).

From all coherent Space-time codes (i.e. that the receiver has perfect knowledge or at least an estimate of the channel coefficients) using two transmit antennas known at the present time, the one offering the best performance is the Golden Code as described in the document: J. C. Belfiore, G. Rekaya and E. Viterbo, “The Golden Code: A 2×2 Full-Rate Space-Time Code with Non-Vanishing Determinants,” IEEE Trans. Inform. Theory (April 2005). The Golden Code is actually a maximum diversity (the transmit diversity is 2) and maximum multiplexing (2 symbols per channel use). Furthermore, it also has the highest coding gains (whatever the constellation used). In addition, it was demonstrated recently that the Golden Code can be used on an “Amplify and Forward Relay Channel” with a relay and an antenna and that it can benefit from diversity of collaboration.

The Golden Code only has excellent performance for Maximum Likelihood decoding. As for a number of space-time codes (linear codes), the Maximum Likelihood decoding of the Golden Code is reduced to the search within a region (the shaping region) of a lattice (of dimension 8 for the Golden Code), a lattice which changes according to the channel coefficients, from the point closest to the point received. In order to do this, algorithms to search for the closest point within a lattice were adapted to the decoding of Space-time codes: the Sphere Decoder and the Schnorr-Euchner enumeration. These algorithms need a highly variable number of iterations and are therefore suited only with difficulty to a hardware implementation operating in real time. Accelerations of these algorithms using pre-processing, in particular basis reductions of the LLL type, have also been studied already.

Given the complexity of decoding at Maximum Likelihood decoding, sub-optimal algorithms for decoding Space-time codes have been developed. Some of these algorithms stem from interference equalization and cancellation: this is the case with the ZF (Zero Forcing), MMSE (Minimum Mean Square Error) and ZF-DFE (Decision Feedback Equalizer) algorithms described in: J. Foschini, G. Golden, R. Valenzuela and P. Wolniansky, “Simplified processing for high spectral efficiency wireless communication employing multi-element arrays”, IEEE Journal on Selected Areas Communications, vol. 17, p 1841-1852, November 1999, the V-BLAST decoding algorithm. However, these decoders cannot benefit either from transmit diversity or receive diversity.

Recently, low complexity sub-optimal algorithms have been proposed. They use MMSE or ZF algorithms combined with an LLL basis reduction. Thanks to LLL, these algorithms can use the diversity in its entirety, which is not the case in the absence of this pre-processing. In the document: A. D. Murugan, H. El Gamal, M. O. Damen and G. Caire, “A Unified Framework for Tree Search Decoding: Rediscovering the Sequential Decoder”, IEEE Transactions on Information Theory, vol. 52, no. 5, May 2006, proved the interest in using MMSE-GDFE filtering as pre-processing in order be able to perform a decoding in the lattice without considering the “shaping” constraint and to make use reduction algorithms such as LLL. Moreover, a general formalising of searching within a tree was proposed, capable accordingly of describing all the techniques resulting from the decoding within a lattice and introducing sequential decoding techniques.

However, even this latter technique cannot optimise the advantages of the Golden Code.

A purpose of the present invention is to propose a new decoder benefiting from the diversity of a Golden Code. Another purpose of the invention is to design a real time space-time decoder.

At least one of the aforementioned objectives is achieved with a method for decoding 2×2 space-time codes of a vector Y, in particular of the Golden Code type, characterized in that it comprises the following steps:

-   -   a filtering of the MMSE-GDFE type is carried out in order to         obtain a vector Y^(F)=RX+W, where Y^(F) is the vector Y filtered         by means of a filter matrix F (“forward filter”), R a         conventional matrix named “backward filter”, X the vector         transmitted and W the complex noise matrix,     -   a constellation recentring is carried out so that the vector to         be determined becomes Z, such that         Z=Y^(F)−2K_(M)RΓS₀=2K_(M)RΓS+W, K_(M) being the normalization         constant for the constellation in question, Γ being the Golden         Code, and S the vector for the information symbols,     -   a step of permutation of the elements of the matrices Z, R and Γ         is carried out in order to obtain {tilde over (Z)}, {tilde over         (R)} and {tilde over (Γ)} so that {tilde over (R)}^(H)R is a         matrix in the form of an X and the complex number “i” is moved         from Γ to R, and     -   a step of lattice basis reduction is carried out so that {tilde         over (Z)}=2K_(M){tilde over (ψ)}{tilde over (Γ)}S′+W with {tilde         over (ψ)}={tilde over (R)}.Δ_(α)(x¹,x²,x³,x⁴) and S′=π_(α)         ⁻¹(x¹,x²,x³,x⁴).S, π_(α)(x¹,x²,x³,x⁴) being a basis change         matrix, π_(α)(x¹,x²,x³,x⁴) is the matrix associated with         Δ_(α)(x¹, x², x³, x⁴) which is a matrix in which the determinant         module is equal to 1 and defined such that Δ_(α) ^(H)Δ_(α) is a         matrix in the form of an X,     -   the ZF-DFE decoding algorithm is applied, in which among the         four elements of {tilde over (Z)} two layers are identified,         each layer comprising the two elements of the diagonal or         anti-diagonal of {tilde over (Z)}; the DFE algorithm is applied         layer by layer and the ZF algorithm within each of the layers.

The decoding algorithms of the prior art having performances comparable to Maximum Likelihood process the Golden Code decoding as that of any lattice of dimension 8. They do not consider two specific aspects of its structure: its construction in 2 layers and the algebraic structure of each of these two layers. The present invention proposes to carry out a layer by layer decoding (as in the method of a DFE), reducing the problem to one of dimension 2. The decoding within each layer is carried out by a simple ZF technique after an algebraic reduction. Such a technique of decoding by layers has the advantage of handling at each step 2×2 diagonal, or known in advance, matrices. In order to obtain performances close to Maximum Likelihood, a reduction capable of combining the two layers before decoding them one by one is advantageously implemented. Conventional reduction techniques (LLL or Korkhine-Zolotareff, for example) destroy the layered structure. This is why a new form of reduction, christened algebraic reduction, can be used.

According to one advantageous characteristic of the invention, the permutation of {tilde over (Z)} is as follows:

$\overset{\sim}{Z} = \begin{bmatrix} z_{1,1} \\ z_{2,2} \\ z_{1,2} \\ z_{2,1} \end{bmatrix}$

with the following convention

$Z = {\begin{bmatrix} z_{1,1} \\ z_{2,1} \\ z_{1,2} \\ z_{2,2} \end{bmatrix}.}$

In this permutation, the first layer is constituted by the first and last Z elements. The second layer is constituted by the second and third Z elements.

Advantageously, {tilde over (R)} is a matrix in X form such that:

${\overset{\sim}{R} = {{\begin{bmatrix} r_{1,1}^{1} & 0 & 0 & {i \cdot r_{1,2}^{1}} \\ 0 & r_{2,2}^{2} & r_{2,1}^{2} & 0 \\ 0 & r_{1,2}^{2} & r_{1,1}^{2} & 0 \\ r_{2,1}^{1} & 0 & 0 & {i \cdot r_{2,2}^{1}} \end{bmatrix}\mspace{14mu} {and}\mspace{14mu} \overset{\sim}{\Gamma}} = {\frac{1}{\sqrt{5}}\begin{bmatrix} \alpha & {\alpha \; \theta} & 0 & 0 \\ \overset{\_}{\alpha} & {\overset{\_}{\alpha}\; \overset{\_}{\theta}} & 0 & 0 \\ 0 & 0 & \alpha & {\alpha\theta} \\ 0 & 0 & \overset{\_}{\alpha} & {\overset{\_}{\alpha}\; \overset{\_}{\theta}} \end{bmatrix}}}},$

α and θ being the Golden Code coefficients such that:

${\theta = \frac{1 + \sqrt{5}}{2}},{\overset{\_}{\theta} = \frac{1 - \sqrt{5}}{2}},$

α=1+i−i.θ, α=1+i−i.{tilde over (θ)}

Preferably:

${\Delta_{\alpha}\left( {x^{1},x^{2},x^{3},x^{4}} \right)} = \begin{bmatrix} x^{1} & 0 & 0 & {\frac{\alpha}{\overset{\_}{\alpha}}x^{4}} \\ 0 & {\overset{\_}{x}}^{1} & {\frac{\overset{\_}{\alpha}}{\alpha}{\overset{\_}{x}}^{4}} & 0 \\ 0 & {\frac{\alpha}{\overset{\_}{\alpha}}{\overset{\_}{x}}^{2}} & {\overset{\_}{x}}^{3} & 0 \\ {\frac{\overset{\_}{\alpha}}{\alpha}x^{2}} & 0 & 0 & x^{3} \end{bmatrix}$ and ${\Pi_{\alpha}\left( {x^{1},x^{2},x^{3},x^{4}} \right)} = \begin{bmatrix} x_{1}^{1} & x_{2}^{1} & x_{1}^{4} & {x_{1}^{4} - x_{2}^{4}} \\ x_{2}^{1} & {x_{1}^{1} + x_{2}^{1}} & x_{2}^{4} & {- x_{1}^{4}} \\ {x_{1}^{2} + x_{2}^{2}} & {x_{1}^{2} + {2 \cdot x_{2}^{2}}} & {x_{1}^{3} + x_{2}^{3}} & {- x_{2}^{3}} \\ {- x_{2}^{2}} & {{- x_{1}^{2}} - x_{2}^{2}} & {- x_{2}^{3}} & x_{1}^{3} \end{bmatrix}$

where ∀j 1≦j≦4 x^(j)=x₁ ^(j)+θ.x₂ ^(j) (x₁ ^(j) et x₂ ^(j)εZ[i]).

According to one advantageous embodiment of the invention, Δ_(α) is determined such that during a QR decomposition, both elements of a single layer are substantially of the same value. This accordingly defines a first equilibrium criterion within each layer.

According to yet another advantageous embodiment of the invention, {tilde over (Z)} being defined as two layers, a first layer composed of elements on the diagonal and a second layer composed of elements on the anti-diagonal, Δ_(α) is determined such that, during a QR decomposition, the product of the two elements of the second layer is greater than the product of the two elements of the first layer. This accordingly defines a second criterion for maximizing the power of the second layer.

Moreover, during application of the ZF algorithm for the second layer, it is preferable to extract p possible candidates and then, during application of the ZF algorithm for the first layer, p possible candidates are also extracted and then the best candidate vector is determined on completion of the overall ZF-DFE algorithm. Advantageously, p is equal to 2.

The present invention is applied advantageously if {tilde over (R)} and Δ_(α) are X or diamond matrices.

Other advantages and characteristics of the invention will become apparent on examination of the detailed description of an embodiment which is in no way limitative, and the single attached FIGURE. This FIGURE is a performance curve for a decoder according to the invention compared with a decoder of the prior art and a Maximum Likelihood decoder.

For the description which follows, we shall use the following notations and conventions:

-   -   All assemblies in bold     -   Z the ring of relative integers     -   Q the field of rational numbers     -   R the field of real numbers         -   i is the number defined by i²=−1         -   C the field of complex numbers         -   Q[i] the field defined by Q[i]={x+i.y with (x,y)εQ²}         -   Z[i] the ring defined by Z[i]={x+i.y with (x, y)εZ²} (ring             of Gauss integers)         -   Q[θ] the algebraic extension field of Q generated by [θ]         -   Z[θ] the ring of algebraic integers from the number field             Q[θ]         -   θ is an algebraic integer of degree 2         -   Q[i,θ] the algebraic extension field of Q[i] generated by θ.             This is an algebraic extension of Q of degree 4.         -   Z[i,θ] the ring of algebraic integers of the body of numbers             Q[i,θ]         -   (x) the real part of a complex number x         -   (x) the imaginary part of a complex number x         -   x* is the complex conjugate of x         -   GL_(n)(E) all invertible square matrices of dimension n with             coefficients in E (where E is a ring) and in which the             inverse is also with coefficients in E         -   I_(n) the identity matrix of dimension n         -   X^(T) the transposed matrix of the X matrix         -   X^(H) the conjugated transposed matrix of the X matrix         -   └x┐ the largest integer less than or equal to x         -   In (x) the Napierian logarithm of x for x>0     -   E(.) the expected value.

The principle of the Golden Code will now be described.

For a constellation M² QAM, the Golden Code (annotated Γ_(M)) is the finished set of the 2×2 matrices with complex coefficients defined as follows:

$\Gamma_{M} = \begin{Bmatrix} {\frac{1}{\sqrt{5}}\begin{bmatrix} {\alpha \cdot \left( {a + {b \cdot \theta}} \right)} & {\alpha \cdot \left( {c + {d \cdot \theta}} \right)} \\ {i \cdot \overset{\_}{\alpha} \cdot \left( {c + {d \cdot \overset{\_}{\theta}}} \right)} & {\overset{\_}{\alpha} \cdot \left( {a + {b \cdot \overset{\_}{\theta}}} \right)} \end{bmatrix}} \\ {{{with}\mspace{14mu} a},b,c,{d \in {M^{2}{QAM}}}} \end{Bmatrix}$ where ${\theta = \frac{1 + \sqrt{5}}{2}},{\overset{\_}{\theta} = \frac{1 - \sqrt{5}}{2}},{\alpha = {1 + i - {i \cdot \theta}}},{\overset{\_}{\alpha} = {1 + i - {i \cdot \overset{\_}{\theta}}}}$ and ${M^{2}{QAM}} = {{\left\{ {K_{M}\begin{pmatrix} {\left( {{2 \cdot k} + 1 - M} \right) +} \\ {i \cdot \left( {{2 \cdot n} + 1 - M} \right)} \end{pmatrix}} \middle| {\left( {k,n} \right) \in \left\{ {0,\ldots \mspace{14mu},{M - 1}} \right\}^{2}} \right\} {where}K_{M}} = {\frac{1}{\sqrt{\frac{2 \cdot \left( {M^{2} - 1} \right)}{3}}}\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {normalization}\mspace{14mu} {constant}\mspace{14mu} {of}\mspace{14mu} M^{2}{{QAM}.}}}$

In the MIMO context, the matrix notation is interpreted in the following manner: if a word X from the Golden Code (XεΓ_(M)) is transmitted, this means that:

-   -   x_(1,1) is sent by the antenna i=1 at time t=1.     -   x_(1,2) is sent by the antenna i=1 at time t=2.     -   x_(2,1) is sent by the antenna i=2 at time t=1.     -   x_(2,2) is sent by the antenna i=2 at time t=2.

By considering Γ_(M) in R⁸ (or C⁴), the Golden Code can be seen as a portion of a lattice of dimension 8 (or of complex dimension 4) decentred and delineated by a shaping region. To do this, it suffices to rewrite Γ_(M) in the following manner:

$\Gamma_{M} = \begin{Bmatrix} {{\frac{2 \cdot K_{M}}{\sqrt{5}}\begin{bmatrix} {\alpha \cdot \left( {s_{1} + {s_{2} \cdot \theta}} \right)} & {\alpha \cdot \left( {s_{3} + {s_{4} \cdot \theta}} \right)} \\ {i \cdot \overset{\_}{\alpha} \cdot \left( {s_{3} + {s_{4} \cdot \overset{\_}{\theta}}} \right)} & {\overset{\_}{\alpha} \cdot \left( {s_{1} + {s_{2} \cdot \overset{\_}{\theta}}} \right)} \end{bmatrix}} +} \\ {\frac{K_{M} \cdot \left( {1 + i} \right) \cdot \left( {1 - M} \right)}{\sqrt{5}}\begin{bmatrix} {\alpha \cdot \left( {1 + \theta} \right)} & {\alpha \cdot \left( {1 + \theta} \right)} \\ {i \cdot {\overset{\_}{\alpha}\left( {1 + \overset{\_}{\theta}} \right)}} & {\overset{\_}{\alpha} \cdot \left( {1 + \overset{\_}{\theta}} \right)} \end{bmatrix}} \\ {{{avec}\left( {s_{1},s_{2},s_{3},s_{4}} \right)} \in {{Z\lbrack i\rbrack}^{4}\bigcap Q_{M}^{4}}} \end{Bmatrix}$

where Q_(M)=[0;M−1]+i.[0;M−1]

Subsequently, the information symbols vector is annotated S=(s₁,s₂,s₃,s₄)^(T). It is clear that the determination of the word of the Golden Code is equivalent to the determination of the vector S of Z[1]⁴ in the shaping region Q_(M) ⁴.

Advantageously, a Golden Code word consists of two layers:

-   -   the pair (x_(1,1), x_(2,2)) forms the layer 1, which depends         only on the pair (s₁, s₂)     -   the pair (x_(1,2), x_(2,1)) forms the layer 2, which depends         only on the pair (s₃, s₄);

We repeat below the “idealistic” decoding criterion at Maximum Likelihood

Let us consider the case of a receiver having N receive antennas (N≧2). In the case of a MIMO Flat Fading channel (which is optionally different between time 1 and time 2), if we suppose that Golden Code word X was transmitted, the signals y_(j,t) received by the receive antenna j (1≦j≦N) at time t (1≦t≦2) can be written in the form:

y _(j,t) =h _(j,1) ^(t) .x _(1,t) +h _(j,2) ^(t) x _(2,t) +b _(j,t)  (Equation 1)

where h_(j,i) ^(t) designates the channel coefficient between the transmit antenna i and the receive antenna j at time t and b_(j,t) the complex noise on the receive antenna j at time t. The complex noise is assumed to be symmetric circularly centred Gaussian of variance N₀ (the real and imaginary parts have for variance N₀/2) and independent according to space (according to j) and the time (according to t), i.e.:

E(b _(j,t) b _(j′,t′)*)=N ₀δ_(t,t′)δ_(j,j′)

where δ_(t,t′) designates the Kronecker symbol between t and t′.

The channel coefficients and the noise variance are assumed to be known by the receiver.

Equation (1) can be rewritten as a matrix:

$\underset{\underset{Y}{}}{\begin{bmatrix} y_{1,1} \\ \vdots \\ y_{N,1} \\ y_{1,2} \\ \vdots \\ y_{N,2} \end{bmatrix}} = {{\underset{\underset{H}{}}{\begin{bmatrix} h_{1,1}^{1} & h_{1,2}^{1} & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots \\ h_{N,1}^{1} & h_{N,2}^{1} & 0 & 0 \\ 0 & 0 & h_{1,1}^{2} & h_{1,2}^{2} \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & h_{N,1}^{2} & h_{N,2}^{2} \end{bmatrix}} \cdot \begin{bmatrix} x_{1,1} \\ x_{2,1} \\ x_{1,2} \\ x_{2,2} \end{bmatrix}} + \underset{\underset{B}{}}{\begin{bmatrix} b_{1,1} \\ \vdots \\ b_{N,1} \\ b_{1,2} \\ \vdots \\ b_{N,2} \end{bmatrix}}}$

Now, given that XεΓ_(M), there is SεZ[i]⁴∩Q_(M) ⁴ such that:

$\begin{bmatrix} x_{1,1} \\ x_{2,1} \\ x_{1,2} \\ x_{2,2} \end{bmatrix} = {{2 \cdot K_{M}}{\underset{\underset{\Gamma}{}}{\frac{1}{\sqrt{5}}\begin{bmatrix} \alpha & {\alpha \; \theta} & 0 & 0 \\ 0 & 0 & {i\; \overset{\_}{\alpha}} & {i\; \overset{\_}{\alpha}\; \overset{\_}{\theta}} \\ 0 & 0 & \alpha & {\alpha \; \theta} \\ \overset{\_}{\alpha} & {{\overset{\_}{\alpha}\; \overset{\_}{\theta}}\;} & 0 & 0 \end{bmatrix}} \cdot \left( {S + S_{0}} \right)}}$ ${{with}\mspace{14mu} S_{0}} = {\frac{\left( {1 + i} \right) \cdot \left( {1 - M} \right)}{2}\begin{bmatrix} 1 \\ 1 \\ 1 \\ 1 \end{bmatrix}}$

Therefore, we have:

Y=2.K _(M) .H.Γ.(S+S ₀)+B

From which:

Y′=Y−2.K _(M) .H.Γ.S ₀=2.K _(M) H.Γ.S+B

It is easy to demonstrate that the Maximum Likelihood decoding consists of deciding, knowing Y′ and the channel coefficients, that the vector transmitted is the vector Ŝ defined by:

$\hat{S} = {{Arg}\left( {\underset{S \in {{Z{\lbrack i\rbrack}}^{4}\bigcap Q_{M}^{4}}}{Min}{{{Y^{\prime \;} -}{\cdot S}}}^{2}} \right)}$

with

=2.K_(M).H.Γ

Decoding at Maximum Likelihood consists of finding the point of the lattice of real dimension 8 (complex dimension 4), generated by

columns, closest to Y′, provided that the coordinates of this point belong to the shaping region (Q_(M) ⁴). Provided that the

matrix is of real rank 8 (or complex rank 4), a decoding at Maximum Likelihood is feasible by the Sphere Decoder algorithm or by the Schnorr-Euchner enumeration algorithm, both duly modified to integrate the “shaping” constraint.

According to the present invention, the first step is the application of a MMSE-GDFE filter.

The MMSE-GDFE filtering technique is a pre-processing technique used currently in the Space-Time code decoding field. It has been shown that MMSE-GDFE filtering can overcome the shaping constraint, without degrading performance significantly. Moreover, this filtering can guarantee that the virtual channel matrix is of full rank. By transforming the decoding problem into that of a search within a lattice for the point closest to a point received, the MMSE-GDFE filtering can benefit from lattice basis reduction techniques.

Given that the Golden Code matrix Γ is a unitary matrix, the MMSE-GDFE filtering matrix can be determined exclusively from H and N₀ (both assumed to be known by the receiver).

The MMSE-GDFE filter matrix, annotated F (“forward filter”), of the matrix H is the 4×2.N complex matrix defined by:

F=(R^(H))⁻¹H^(H), R is the backward filter,

where

$\left( R^{H} \right)^{- 1} = \begin{bmatrix} \left( R_{1}^{H} \right)^{- 1} & 0 \\ 0 & \left( R_{2}^{H} \right)^{- 1} \end{bmatrix}$

with R₁ (or R₂) a triangular complex matrix greater than 2×2 (in which the diagonal terms are positive real numbers) obtained by the Cholesky decomposition of H^(1H)H¹+N₀I₂ (resp. H^(2H)H²+N₀I₂).

In general, decoding in a lattice after MMSE-GDFE filtering is defined in the following manner.

The received symbols vector Y is multiplied by the matrix F, in order to obtain a complex vector of dimension 4, annotated Y^(F):

Y^(F)=F.Y

It is easy to demonstrate that we have:

Y ^(F) =R.X+W

where W is a complex noise vector of dimension 4, in which each of the components is of variance N₀. The components of W are still mutually decorrelated, but are no longer Gaussian.

Therefore, we have:

Z=Y ^(F)−2.K _(M) .R.Γ.S ₀=2.K _(M) .R.Γ.S+W=

S+W  (Equation 2)

with

=2.K_(M).R.Γ

In this case, given Z and R, the decoding method consists of deciding that the vector transmitted is the vector Ŝ defined by:

$\hat{S} = {{Arg}\left( {\underset{S \in {{Z{\lbrack i\rbrack}}^{4}\bigcap Q_{M}^{4}}}{Min}{{Z - {\Lambda^{F} \cdot S}}}^{2}} \right)}$

This decoding method is not equivalent to that of Maximum Likelihood, but damages performance only slightly while guaranteeing the invertibility of the new generator matrix (

). Moreover, it was shown in [21], that it is not penalizing to disregard the shaping condition. The decoding method then consists of deciding that the vector transmitted is the vector Ŝ defined by:

$\hat{S} = {{Arg}\left( {\underset{S \in {Z{\lbrack i\rbrack}}^{4}}{Min}{{Z - {\Lambda^{F} \cdot S}}}^{2}} \right)}$

This therefore involves finding the point of the lattice generated by the columns of

closest to Z.

If the coordinates of Ŝ do not confirm the “shaping” condition, it is possible to decide to delete or to reduce Ŝ in the shaping region while saturating the coordinates of Ŝ which do not confirm the shaping condition.

According to the invention, the decoder uses a lattice basis reduction. The general principle of lattice basis reduction is defined in the following manner.

Let

be a square real matrix of dimension n and Z_(R) a point on R^(n). Suppose that we are searching for the point of the lattice generated by

closest to Z_(R), i.e. we are searching for Ŝ_(R) in Z^(n) such that:

${\hat{S}}_{R} = {{Arg}\left( {\underset{S_{R} \in Z^{n}}{Min}{{Z_{R} - {\Lambda_{R} \cdot S_{R}}}}^{2}} \right)}$

If π is a square matrix of dimension n with unimodular integer coefficients (πεGL_(n)(Z)), then its inverse π⁻¹ also has integer coefficients. The matrix π is called basis change matrix.

We therefore have:

Z _(R) −

.S _(R) =Z _(R)−

.π.π⁻¹ .S _(R) =Z _(R) −

′.S _(R)′

with

′=

.π and S_(R)′=π⁻¹.S_(R)

Therefore the search for Ŝ_(R) is equivalent to the search for Ŝ′_(R) defined by:

${\hat{S}}_{R}^{\prime} = {{Arg}\left( {\underset{S_{R}^{\prime} \in Z^{n}}{Min}{{Z_{R} - {\bigwedge_{R}^{\prime}{\cdot S_{R}^{\prime}}}}}^{2}} \right)}$

Ŝ_(R) is obtained from the relationship: Ŝ_(R)=π.Ŝ_(R)′

The objective of the basis reduction is obtained from a

_(R) an equivalent generator matrix

_(R)′ (which generates the same lattice), which has improved vector orthogonality and length properties in order to facilitate the search for the closest point.

There are different reduction criteria, with which algorithms are associated in order to carry out these reductions. The two principal reduction algorithms are: the LLL algorithm and the KZ algorithm. The LLL algorithm is the more frequently used as it is less complex than the KZ algorithm.

The algorithms for classifying the columns of the matrix are also reduction algorithms.

After MMSE-GDFE filtering, the basis reduction can be used to accelerate the optimal search algorithms such as the Sphere Decoder or the Schnorr-Euchner enumeration. Similarly, all the sub-optimal search algorithms in a tree can be improved using a basis reduction technique.

The general principle of a ZF decoding after MMSE-GDFE filtering and basis reduction is as follows.

After MMSE-GDFE filtering, we have (cf. Equation 2):

Z=

.S+W

In order to be able to use a reduction technique, it is necessary to work on real matrices and vectors. The conversion of a complex vector (resp. a complex matrix) into a real vector (resp. into a real matrix) is carried out in the following manner:

$Z_{R} = {{\begin{bmatrix}  \\

\end{bmatrix}\mspace{14mu} {and}\mspace{14mu} \Lambda_{R}^{F}} = \begin{bmatrix}  & - \\  & {\left( \Lambda^{F} \right)} \end{bmatrix}}$

In the case of the Golden Code, Z_(R) is a vector of dimension 8 and

an 8×8 matrix.

We then have:

Z _(R) =

.S _(R) +W _(R)

After reduction of the generator matrix

, the reduced matrix is annotated

and the basis change matrix π.

We then have:

Z _(R) =

S _(R) ′+W _(R)  (Equation 3)

The decoded word is defined by Ŝ_(R)=π.Ŝ_(R)′ where Ŝ_(R)′ is obtained by rounding the coordinates of (

)⁻¹Z_(R). The term ZF (Zero Forcing) originates from the fact that we multiply the received word Z_(R) by the inverse of the matrix

.

The general principle of a ZF-DFE decoding after MMSE-GDFE filtering and basis reduction is as follows.

The ZF-DFE decoding after basis reduction proceeds like ZF decoding up to equation 3. A QR decomposition (or Gram-Shmit orthogonalisation) of the matrix

is carried out:

=U.T

with U a unitary real 8×8 matrix and T a real 8×8 upper triangular matrix (in which the terms on the diagonal are positive). By multiplying Z_(R) by U^(T), we obtain:

Z _(R) ′=U ^(T) .Z _(R) =T.S _(R) ′+W _(R)′

with

${E\left( {W_{R}^{\prime}W_{R}^{\prime \; T}} \right)} = {\frac{N_{0}}{2}I_{8}}$

as U is unitary

The decoded word is defined Ŝ_(R)=π.Ŝ_(R)′ where Ŝ_(R)′ is obtained coordinate by coordinate in the following manner:

${\hat{s}}_{R,8}^{\prime} = \left\lfloor {\frac{z_{R,8}^{\prime}}{t_{8,8}} + 0.5} \right\rfloor$

For the coordinate 7, we refer the decision made on coordinate 8:

${\hat{s}}_{R,7}^{\prime} = \left\lfloor {\frac{z_{R,7}^{\prime} - {t_{7,8}{\hat{s}}_{R,8}^{\prime}}}{t_{7,7}} + 0.5} \right\rfloor$

and so on until:

${\hat{s}}_{R,1}^{\prime} = \left\lfloor {\frac{z_{R,1}^{\prime} - {\sum\limits_{j = 2}^{8}{t_{1,j}{\hat{s}}_{R,j}^{\prime}}}}{t_{1,1}} + 0.5} \right\rfloor$

We will now describe the decoding algorithm by layers according to the present invention and, in particular, its impact on the general principle of the algorithms described above.

After MMSE-GDFE filtering, we carry out a permutation of Z by re-ordering the lines of Z. We then define the vector {tilde over (Z)} in the following manner:

$\overset{\sim}{Z} = \begin{bmatrix} z_{1,1} \\ z_{2,2} \\ z_{1,2} \\ z_{2,1} \end{bmatrix}$

with the following convention

$Z = \begin{bmatrix} z_{1,1} \\ z_{2,2} \\ z_{1,2} \\ z_{2,1} \end{bmatrix}$

From equation (2), it is easy to show that:

$\overset{\sim}{Z} = {{2K_{M}\overset{\sim}{R}{\overset{\sim}{\Gamma} \cdot S}} + \overset{\sim}{W}}$ with $\overset{\sim}{R} = \begin{bmatrix} r_{1,1}^{1} & 0 & 0 & {i \cdot r_{1,2}^{1}} \\ 0 & r_{2,2}^{2} & r_{2,1}^{2} & 0 \\ 0 & r_{1,2}^{2} & r_{1,1}^{2} & 0 \\ r_{2,1}^{1} & 0 & 0 & {i \cdot r_{2,2}^{1}} \end{bmatrix}$ and $\overset{\sim}{\Gamma} = {{\frac{1}{\sqrt{5}}\begin{bmatrix} \alpha & {\alpha \; \theta} & 0 & 0 \\ \overset{\_}{\alpha} & {\overset{\_}{\alpha}\overset{\_}{\theta}} & 0 & 0 \\ 0 & 0 & \alpha & {\alpha \; \theta} \\ 0 & 0 & \overset{\_}{\alpha} & {\overset{\_}{\alpha}\overset{\_}{\theta}} \end{bmatrix}} = {\frac{1}{\sqrt{5}}\begin{bmatrix} C_{\alpha,\theta} & 0_{2 \times 2} \\ 0_{2 \times 2} & C_{\alpha,\theta} \end{bmatrix}}}$

It will be noted that the matrix {tilde over (R)} is an X matrix. We have also moved “i” from {tilde over (Γ)} to {tilde over (R)}.

Some definitions and properties:

Definition 1: X matrix: a matrix will be said to be an X matrix if all the coefficients outside the diagonal and the antidiagonal are nonexistent.

Proposition 1:

The product of two X matrices is an X matrix.

Definition 2:

Let (x^(j))_(1≦j≦4) be four elements of the ring of algebraic integers Z[i, θ] (where θ is an algebraic integer such that Q[i, θ] is an algebraic extension of degree 2 of Q[i]) and α an element of Z[i, θ], a matrix Δ_(α)(x¹, x², x³, x⁴) will be termed algebraic X if it is written:

${\Delta_{\alpha}\left( {x^{1},x^{2},x^{3},x^{4}} \right)} = \begin{bmatrix} x^{1} & 0 & 0 & {\frac{\alpha}{\overset{\_}{\alpha}}x^{4}} \\ 0 & {\overset{\_}{x}}^{1} & {\frac{\overset{\_}{\alpha}}{\alpha}{\overset{\_}{x}}^{4}} & 0 \\ 0 & {\frac{\alpha}{\overset{\_}{\alpha}}{\overset{\_}{x}}^{2}} & {\overset{\_}{x}}^{3} & 0 \\ {\frac{\overset{\_}{\alpha}}{\alpha}x^{3}} & 0 & 0 & x^{3} \end{bmatrix}$

where x is the algebraic conjugate of x.

Proposition 2:

Let Δ_(α)(x¹, x², x³, x⁴) be an algebraic X matrix, the determinant of Δ_(α)(x¹, x², x³, x⁴) is given by:

det(Δ_(α)(x ¹ ,x ² ,x ³ ,x ⁴))=N _(Q[i,θ]/Q[i])(x ¹ .x ³ −x ² .x ⁴)

where N_(Q[i,θ]/Q[i])(x)=x. x designates the algebraic norm of x (for x in Q[i,θ] relative to Q[i]. The determinant of Δ_(α)(x¹, x², x³, x⁴) is an element of Z[i] since it is the norm of the algebraic integer x¹x³−x²x⁴.

Proposition 3:

Let Δ_(α)(x¹, x² x³, x⁴) be an algebraic X matrix, then there exists a unique matrix π_(α)(x¹, x², x³, x⁴) with coefficients in Z[i] such that:

${{{\Delta_{\alpha}\left( {x^{1}, x^{2}, x^{3}, x^{4}} \right)} \cdot \left\lbrack \begin{matrix} C_{\alpha,\theta} & 0_{2 \times 2} \\ 0_{2 \times 2} & C_{\alpha,\theta} \end{matrix} \right\rbrack} = {\left\lbrack \begin{matrix} C_{\alpha,\theta} & 0_{2 \times 2} \\ 0_{2 \times 2} & C_{\alpha,\theta} \end{matrix} \right\rbrack \cdot {\Pi_{\alpha}\left( {x^{1}, x^{2}, x^{3}, x^{4}} \right)}}}$ ${{where}\mspace{14mu} C_{\alpha,\theta}} = \begin{bmatrix} \alpha & {\alpha \; \theta} \\ \overset{\_}{\alpha} & {\overset{\_}{\alpha} \cdot \overset{\_}{\theta}} \end{bmatrix}$

is the matrix of the canonical embedding of the ideal aZ[i,θ] in Z[i]

In the case of the Golden Code, the matrix π_(α)(x¹, x², x³, x⁴) is given by:

${\Pi_{\alpha}\left( {x^{1},x^{2},x^{3},x^{4}} \right)} = \begin{bmatrix} x_{1}^{1} & x_{2}^{1} & x_{1}^{4} & {x_{1}^{4} - x_{2}^{4}} \\ x_{2}^{1} & {x_{1}^{1} + x_{2}^{1}} & x_{2}^{4} & {- x_{1}^{4}} \\ {x_{1}^{2} + x_{2}^{2}} & {x_{1}^{2} + {2 \cdot x_{2}^{2}}} & {x_{1}^{3} + x_{2}^{3}} & {- x_{2}^{3}} \\ {- x_{2}^{2}} & {{- x_{1}^{2}} - x_{2}^{2}} & {- x_{2}^{3}} & x_{1}^{3} \end{bmatrix}$ where  ∀j  1 ≤ j ≤ 4  x^(j) = x₁^(j) + θ ⋅ x₂^(j)  (x₁^(j)  and  x₂^(j) ∈ Z[i])

Moreover, for the Golden Code, the matrix

$\frac{1}{\sqrt{5}}C_{\alpha,\theta}$

is unitary.

Proposition 4:

Let Δ_(α)(x¹, x², x³, x⁴) be an algebraic X matrix and π_(α)(x¹,x², x³, x⁴) its associated matrix, then π_(α(x) ¹, x², x³, x⁴)εGL₄(Z[i]) if and only if:

|N _(Q[i,θ]/Q[i])((x ¹ .x ³ −x ² .x ⁴)|=1.

Similarly, we can define diamond matrices (nonexistant coefficients on the diagonal and the antidiagonal) likely to obtain good results.

After permutation of Z, a basis reduction termed algebraic reduction is carried out in the following manner.

Let Δ_(α)(x¹, x², x³, x⁴) be an algebraic X matrix with determinant of module 1 and π_(α)(x¹,x²,x³,x⁴) its associated matrix. π_(α)(x¹,x², x³, x⁴) is an invertible matrix and its inverse has coefficients in Z[i].

We therefore have:

{tilde over (Z)}=2.K _(M) {tilde over (R)}.{tilde over (Γ)}.S+{tilde over (W)}=2K _(M) {tilde over (R)}.Δ _(α() x ¹ ,x ² ,x ³ ,x ⁴).{tilde over (Γ)}.π_(α) ⁻¹ (x ¹ ,x ² ,x ³ ,x ⁴).S+{tilde over (W)}

{tilde over (Z)}=2.K _(M) .{tilde over (ψ)}.{tilde over (Γ)}.S′+{tilde over (W)}

By having put: {tilde over (ψ)}={tilde over (R)}.Δ_(α)(x¹,x²,x³,x⁴) and S′=π_(α) ⁻¹(x¹,x²,x³,x⁴).S

The matrix {tilde over (ψ)} is an X matrix as well as a product of an X matrix. A reduction has therefore been carried out using the passage matrix π_(α)(x¹,x²,x³,x⁴) which has transformed the initial channel matrix {tilde over (R)} into an equivalent channel matrix {tilde over (ψ)}.

The aim of the algebraic reduction is therefore to find a matrix Δ_(α)(x¹, x², x³, x⁴) so that the matrix {tilde over (ψ)} has improved properties to allow the use of a simple decoding technique while at the same time obtaining good performance. To do this, two criteria are defined: a balance within each layer and a maximization of the power of the second layer. These criteria will be described in more detail in the following.

The sought properties of {tilde over (ψ)} therefore depend on the decoding algorithm employed.

The decoding by layer will now be described for a number of candidates: using the ZF-DFE algorithms.

The decoding principle for p candidates is as follows.

The decoding algorithm consists of determining p possible candidates for layer 2. For each of the p layer 2 candidates, the closest value for layer 1 is determined, while reporting the decision made on layer 2 (as for the DFE method). Within each of the layers, the decoding technique is ZF made virtually optimal by algebraic reduction (step 2 of the reduction). The number of candidates, p, is a relatively low number: p=2 is, for example, an excellent compromise between complexity and performance. From the perspective of a real time system that is easy to implement, it is preferable to fix the value of p. However, more complex strategies for determining p, as a function of the matrix {tilde over (ψ)} could be envisaged.

-   -   The QR Decomposition

Let us suppose that the reduction has already been carried out; we then have:

{tilde over (Z)}=2K _(M) .{tilde over (ψ)}.{tilde over (Γ)}.S′+{tilde over (W)}

A QR decomposition of the matrix {tilde over (ψ)} is carried out:

$\overset{\sim}{\Psi} = {\begin{bmatrix} \Psi_{1,1}^{1} & 0 & 0 & {i.\Psi_{1,2}^{1}} \\ 0 & \Psi_{2,2}^{2} & \Psi_{2,1}^{2} & 0 \\ 0 & \Psi_{1,2}^{2} & \Psi_{1,1}^{2} & 0 \\ \Psi_{2,1}^{1} & 0 & 0 & {i.\Psi_{2,2}^{1}} \end{bmatrix} = {U \cdot T}}$

with U a unitary 4×4 complex matrix (U^(H)U=I₄) and T a upper triangular 4×4 complex matrix in which the diagonal terms are real and positive. In addition, U and T have a particular structure:

$U = {{\begin{bmatrix} u_{1,1} & 0 & 0 & u_{1,4} \\ 0 & u_{2,2} & u_{2,3} & 0 \\ 0 & u_{3,2} & u_{3,3} & 0 \\ u_{4,1} & 0 & 0 & u_{4,4} \end{bmatrix}\mspace{14mu} {and}\mspace{14mu} T} = \begin{bmatrix} t_{1,1} & 0 & 0 & t_{1,4} \\ 0 & t_{2,2} & t_{2,3} & 0 \\ 0 & 0 & t_{3,3} & 0 \\ 0 & 0 & 0 & t_{4,4} \end{bmatrix}}$

Given the form of {tilde over (ψ)}, its QR decomposition is equivalent to the QR decomposition of 2 2×2 matrices:

$\begin{bmatrix} \Psi_{1,1}^{1} & {i.\Psi_{1,2}^{1}} \\ \Psi_{2,1}^{1} & {i.\Psi_{2,2}^{1}} \end{bmatrix} = {{\begin{bmatrix} u_{1,1} & u_{1,4} \\ u_{4,1} & u_{4,4} \end{bmatrix} \cdot {\begin{bmatrix} t_{1,1} & t_{1,4} \\ 0 & t_{4,4} \end{bmatrix}\begin{bmatrix} \Psi_{2,2}^{2} & \Psi_{2,1}^{2} \\ \Psi_{1,2}^{2} & \Psi_{1,1}^{2} \end{bmatrix}}} = {\begin{bmatrix} u_{2,2} & u_{2,3} \\ u_{3,2} & u_{3,3} \end{bmatrix} \cdot \begin{bmatrix} t_{2,2} & t_{2,3} \\ 0 & t_{3,3} \end{bmatrix}}}$

We then have:

{tilde over (Z)}=2_(K) _(M) .U.T.{tilde over (Γ)}.S′+{tilde over (W)}

By multiplying by U^(H), we obtain:

{tilde over (Z)}′=U ^(H) .{tilde over (Z)}=2K _(M) T.{tilde over (Γ)}.S′+{tilde over (W)}′

with E({tilde over (W)}′{tilde over (W)}′^(H))=N₀.I₄ since U is unitary.

-   -   The extraction of p candidates by ZF for the second layer.

The last two components of {tilde over (Z)}′ are:

$\begin{bmatrix} {\overset{\sim}{z}}_{3}^{\prime} \\ {\overset{\sim}{z}}_{4}^{\prime} \end{bmatrix} = {{{2 \cdot K_{m} \cdot \begin{bmatrix} t_{3,3} & 0 \\ 0 & t_{4,4} \end{bmatrix} \cdot \frac{1}{\sqrt{5}}}{C_{\alpha,\theta} \cdot \begin{bmatrix} s_{3}^{\prime} \\ s_{4}^{\prime} \end{bmatrix}}} + \begin{bmatrix} {\overset{\sim}{w}}_{3}^{\prime} \\ {\overset{\sim}{w}}_{4}^{\prime} \end{bmatrix}}$

By applying a ZF (by multiplying by the inverse matrix), we obtain:

${\overset{\sim}{S}}_{2}^{\prime} = {\frac{1}{{2 \cdot K_{M}}\sqrt{5}} \cdot C_{\alpha,\theta}^{H} \cdot {\begin{bmatrix} {1/t_{3,3}} & 0 \\ 0 & {1/t_{4,4}} \end{bmatrix}\begin{bmatrix} z_{3}^{\prime} \\ z_{4}^{\prime} \end{bmatrix}}}$

From which:

${\overset{\sim}{S}}_{2}^{\prime} = {\begin{bmatrix} s_{3}^{\prime} \\ s_{4}^{\prime} \end{bmatrix} + {\frac{1}{{2 \cdot K_{M}}\sqrt{5}} \cdot C_{\alpha,\theta}^{H} \cdot \begin{bmatrix} {1/t_{3,3}} & 0 \\ 0 & {1/t_{4,4}} \end{bmatrix} \cdot \begin{bmatrix} {\overset{\sim}{w}}_{3}^{\prime} \\ {\overset{\sim}{w}}_{4}^{\prime} \end{bmatrix}}}$

Starting from the vector {tilde over (S)}′₂, a list of distinct 2×2 Z[i]² p vectors is established {Ŝ′₂ ¹, . . . , Ŝ′₂ ^(p)} closest to {tilde over (S)}′₂.

-   -   The ZF decoding of the first layer after referring p candidates

For each of p vectors Ŝ′₂ ^(j) (1≦j≦p), a vector Ŝ′₁ ^(j) is calculated by rounding each of the coordinates of {tilde over (S)}′₁ ^(j) defined as follows:

${\overset{\sim}{S}}_{1}^{\prime \; j} = {\frac{1}{{2 \cdot K_{M}}\sqrt{5}} \cdot C_{\alpha,\theta}^{H} \cdot \begin{bmatrix} {1/t_{1,1}} & 0 \\ 0 & {1/t_{2,2}} \end{bmatrix} \cdot \begin{pmatrix} {\begin{bmatrix} {\overset{\sim}{z}}_{1}^{\prime} \\ {\overset{\sim}{z}}_{2}^{\prime} \end{bmatrix} - {2 \cdot K_{M} \cdot}} \\ \begin{matrix} {\begin{bmatrix} 0 & t_{1,4} \\ t_{2,3} & 0 \end{bmatrix} \cdot} \\ {\frac{1}{\sqrt{5}}{C_{\alpha,\theta} \cdot {\hat{S}}_{2}^{\prime \; j}}} \end{matrix} \end{pmatrix}}$

The vector Ŝ′^(j) is constructed:

${\hat{S}}^{\prime \; j} = \begin{bmatrix} {\hat{S}}_{1}^{\prime \; j} \\ {\hat{S}}_{2}^{\prime \; j} \end{bmatrix}$

The vector Ŝ′^(j) is reduced in the initial base to obtain Ŝ^(j):

Ŝ ^(j)=π_(α)(x ¹ ,x ² ,x ³ ,x ⁴).{circumflex over (S)}′^(j)

Thus a list of p distinct {Ŝ¹, . . . Ŝ^(p)} two by two Z[i]⁴ candidate vectors to be the decoded vector Ŝ is prepared.

-   -   determination of the best candidate.

Each of the vectors Ŝ^(j), is tested for membership of the shaping region. In this way, we build a sub-list of the preceding list, while keeping only the vectors meeting the shaping condition. This list of k vectors (with 0≦k≦p) will be noted: {Ŝ^(σ(1)), . . . , Ŝ^(σ(k)}.) ⁾. It is necessary to distinguish 2 cases:

-   -   k=0. Several strategies can be adopted without serious         consequences on performance. For example, we can choose to         saturate the coordinates of Ŝ′ which do not meet the shaping         condition, in order to obtain the decoded vectors Ŝ.     -   k≧1. In this case, the decoded vector Ŝ is defined as follows:

$\hat{S} = {{Arg}\left( {\underset{1 \leq j \leq k}{Min}{{\overset{\sim}{Z} - {{2 \cdot K_{M}}{\overset{\sim}{R} \cdot \overset{\sim}{\Gamma} \cdot {\hat{S}}^{\sigma {(j)}}}}}}^{2}} \right)}$

We will repeat below the criteria for {tilde over (ψ)} during the reduction algorithm.

-   -   equilibrium within each layer.

For each of the layers, a ZF decoding will be used. For the layer j (1≦j≦2), the 2×2 matrix A_(j) to be inverted is presented as follows:

$A_{j} = {{2 \cdot K_{M} \cdot \begin{bmatrix} t_{{{2 \cdot j} - 1},{{2 \cdot j} - 1}} & 0 \\ 0 & t_{{2 \cdot j},{2 \cdot j}} \end{bmatrix} \cdot \frac{1}{\sqrt{5}}}C_{\alpha,\theta}}$

Given that the matrix

$\frac{1}{\sqrt{5}}C_{\alpha,\theta}$

is unitary, if t_(2.j-1, 2.j-1) and t_(2.j,2.j) are equal, then the matrix A_(j) is proportional to a unitary matrix, which would make the ZF decoding equivalent to Maximum Likelihood within each of the layers. The aim of the reduction within layer j is therefore to equalize as far as possible the coefficients t_(2.j-1, 2.j-1) and t_(2.j,2.j).

-   -   to maximize the power of layer 2.

In order that the proposed decoder has the came behaviour as Maximum Likelihood, it is necessary that, from the p points chosen during decoding the second layer, one of them corresponds to that which the Maximum Likelihood decoder has decoded. To do this, it is necessary to maximize the product t_(3,3).t_(4,4).

Given that the reduction does not modify the determinant module of T (i.e. the product t_(1,1).t_(2,2).t_(3,3).t_(4,4)), maximizing the product t_(3,3).t_(4,4) is equivalent to minimizing the product t_(1,1).t_(2,2).

It is important to note that:

$t_{1,1} = {{{\overset{\sim}{\Psi}}_{1}} = {{\sqrt{\sum\limits_{i = 1}^{4}{{\overset{\sim}{\Psi}}_{i,1}}^{2}}\mspace{14mu} {et}\mspace{14mu} t_{2,2}} = {{{\overset{\sim}{\Psi}}_{2}} = \sqrt{\sum\limits_{i = 1}^{4}{{\overset{\sim}{\Psi}}_{i,2}}^{2}}}}}$

An example of a reduction algorithm will now be described, taking into account the two criteria of equilibrium and maximization.

Principle of the Reduction Algorithm:

The algebraic reduction algorithm is carried out in two steps:

-   -   The first step consists in determining a first quadruplet (β¹,         β², β³, β⁴) of algebraic integers which will allow minimization         of the product ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥ where the         matrix {tilde over (φ)} is given by:

{tilde over (φ)}={tilde over (R)}.Δ _(α)(β¹,β²,β³,β⁴)

-   -   The second step consists of balancing each of the layers once         the first step is completed. This step does not modify the         balance between the layers, i.e. we will have

∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥=∥{tilde over (ψ)}₁∥.∥{tilde over (ψ)}₂∥

Preliminary Mathematics:

If we have: {tilde over (φ)}={tilde over (R)}.Δ_(α)(β¹,β²,β³,β⁴)

It will be noted that for a given matrix {tilde over (R)}:

-   -   ∥{tilde over (φ)}₁∥ depends only on (β¹,β²) which will be         denoted ∥{tilde over (φ)}₁∥(β¹,β²):

${{{\overset{\sim}{\Phi}}_{1}}\left( {\beta^{1},\beta^{2}} \right)} = \sqrt{{{{r_{1,1}^{1} \cdot \beta^{1}} + {{i.r_{{1,2}\;}^{1}}\frac{\overset{\_}{\alpha}}{\alpha}\beta^{2}}}}^{2} + {{{r_{2,1}^{1} \cdot \beta^{1}} + {{i.r_{2,2}^{1}}\frac{\overset{\_}{\alpha}}{\alpha}\beta^{2}}}}^{2}}$

-   -   ∥{tilde over (φ)}₂∥ depends only on ( β ¹, β ²):

${{{\overset{\sim}{\Phi}}_{2}}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)} = \sqrt{{{{r_{2,2}^{2} \cdot {\overset{\_}{\beta}}^{1}} + {r_{2,1}^{2}\frac{\alpha}{\overset{\_}{\alpha}}{\overset{\_}{\beta}}^{2}}}}^{2} + {{{r_{1,2}^{2} \cdot {\overset{\_}{\beta}}^{1}} + {r_{1,1}^{2}\frac{\alpha}{\overset{\_}{\alpha}}{\overset{\_}{\beta}}^{2}}}}^{2}}$

Definition:

A unit of a number field Q[i,θ] is an element of Z[i,θ] the inverse of which is also in Z[i,θ]. Any unit of Q[i,θ] has an algebraic norm relative to a Q[i] which belongs to {1,−1, i, −i}.

Dirichlet's Theorem in a Real Quadratic Field:

Let Q[θ] be a totally real algebraic extension of Q of degree 2. Then a unit exists, called fundamental unit μ, such that any unit u of Q[θ] can be written: u=(±1).μ^(k) with kεZ

Comment:

In the case of the Golden Code, we can take μ=θ

Proposition 5:

If the pair (β¹, β²) of algebraic integers from Z[i,θ] minimises the product ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥, then β¹ and β² have no common multiples other than units of Z[i,θ].

Proof:

Let us suppose that (β¹, β²) minimises ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥ and that xεZ[i,θ] exist such that β¹=x.γ¹ et β²=x.γ². Then

∥{tilde over (φ)}₁∥(β¹,β²).∥{tilde over (φ)}₂∥( β ¹, β ²)=|N _(Q[i,θ]/Q[i])(x)∥{tilde over (φ)}₁∥(γ¹,γ²).∥{tilde over (φ)}₂∥( γ ¹, γ ²)

from which |N_(Q[i,θ]/Q[i])(x)=1.

Therefore x is a unit of Z[i,θ].

Proposition 6:

If the ring of algebraic integers Z[i,θ] is a PID (Principal Integral Domain), which is the case for the Golden Code, and if in addition β¹ and β² are two algebraic integers of Z[i,θ], which have no common multiples other than units of Z[i,θ], then two algebraic integers β³ and β⁴ exist such that:

β¹.β³−β².β⁴=1

Proof:

From proposal 5, we use a generalisation of Bézout's theorem in a PID, or even in particular the document: H. Cohen, “A Course in Computational Algebraic Number Theory”, Springer, 1996.

Proposition 7:

If the pair (β¹, β²) of algebraic integers of Z[i,θ] minimises the product ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥ and if, in addition Z[i,θ] is a PID, then there are two algebraic integers β³ and β⁴ of Z[i,θ] (which are determined by resolving β¹.β³−β².β⁴=1) such that π_(α)(β¹,β²,β³,β⁴)εGL₄(Z[i])

Proposition 8:

Let μ be a fundamental unit of Z[i,θ] with |μ|>1. Let (γ¹,γ²)εZ[i,θ]², then (β¹,β²)εZ[i,θ]² exists such that:

${{{\overset{\sim}{\Phi}}_{1}}{\left( {\beta^{1},\beta^{2}} \right) \cdot {{\overset{\sim}{\Phi}}_{2}}}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)} = {{{\overset{\sim}{\Phi}}_{1}}{\left( {Y^{1},Y^{2}} \right) \cdot {{\overset{\sim}{\Phi}}_{2}}}\left( {{\overset{\_}{Y}}^{1},{\overset{\_}{Y}}^{2}} \right)}$ and ${{{{\overset{\sim}{\Phi}}_{1}}^{2}\left( {\beta^{1},\beta^{2}} \right)} + {{{\overset{\sim}{\Phi}}_{2}}^{2}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)}} \leq {{{\overset{\sim}{\Phi}}_{1}}{\left( {\beta^{1},\beta^{2}} \right) \cdot {{\overset{\sim}{\Phi}}_{2}}}{\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right) \cdot \left( {{\mu } + \frac{1}{\mu }} \right)}}$

Proof:

${{Let}\mspace{14mu} k} = {\left\lfloor {\frac{{\ln \left( {{{\overset{\sim}{\Phi}}_{1}}\left( {Y^{1},Y^{2}} \right)} \right)} - {\ln \left( {{{\overset{\sim}{\Phi}}_{2}}\left( {{\overset{\_}{Y}}^{1},{\overset{\_}{Y}}^{2}} \right)} \right)}}{\ln \left( {\mu }^{2} \right)} + 0.5} \right\rfloor.}$

We take:

β¹ = μ^(−k)Y¹et β² = μ^(−k)Y² Then  we  have ${{{\overset{\sim}{\Phi}}_{1}}{\left( {\beta^{1},\beta^{2}} \right) \cdot {{\overset{\sim}{\Phi}}_{2}}}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)} = {{{\overset{\sim}{\Phi}}_{1}}{\left( {Y^{1},Y^{2}} \right) \cdot {{\overset{\sim}{\Phi}}_{2}}}\left( {{\overset{\_}{Y}}^{1},{\overset{\_}{Y}}^{2}} \right)}$ ${{and}\mspace{14mu} \frac{{Max}\left( {{{{\overset{\sim}{\Phi}}_{1}}\left( {\beta^{1},\beta^{2}} \right)},{{{\overset{\sim}{\Phi}}_{2}}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)}} \right)}{{Min}\left( {{{{\overset{\sim}{\Phi}}_{1}}\left( {\beta^{1},\beta^{2}} \right)},{{{\overset{\sim}{\Phi}}_{2}}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)}} \right)}} \leq {\mu }$

We then easily obtain:

${{{{\overset{\sim}{\Phi}}_{1}}^{2}\left( {\beta^{1},\beta^{2}} \right)} + {{{\overset{\sim}{\Phi}}_{2}}^{2}\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right)}} \leq {{{\overset{\sim}{\Phi}}_{1}}{\left( {\beta^{1},\beta^{2}} \right) \cdot {{\overset{\sim}{\Phi}}_{2}}}{\left( {{\overset{\_}{\beta}}^{1},{\overset{\_}{\beta}}^{2}} \right) \cdot \left( {{\mu } + \frac{1}{\mu }} \right)}}$

First step: balance between layers:

-   -   Search for (β¹,β²)εZ[i,θ]²

First of all, we search for the pair (β¹,β²)εZ[i,θ]² which minimizes ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥.

The determination of (β¹,β²)εZ[i,θ]² is equivalent to the determination of the vector B of Z[i]⁴ defined by:

$B = {{{\cdot \begin{bmatrix} \beta_{1}^{1} \\ \beta_{2}^{1} \\ \beta_{1}^{2} \\ \beta_{2}^{2} \end{bmatrix}}\mspace{14mu} {where}\mspace{14mu} \beta^{j}} = {\beta_{j}^{1} + {\theta \cdot \beta_{j}^{2}}}}$

By setting:

$\begin{matrix} {\Omega = \begin{bmatrix} \omega_{1} \\ \omega_{2} \\ \omega_{3} \\ \omega_{4} \end{bmatrix}} \\ {= {\underset{\underset{G_{\alpha,\theta}{(R)}}{}}{\begin{bmatrix} r_{1,1}^{1} & 0 & {i \cdot r_{1,2}^{1}} & 0 \\ r_{2,1}^{1} & 0 & {i \cdot r_{2,2}^{1}} & 0 \\ 0 & r_{2,2}^{2} & 0 & r_{2,1}^{2} \\ 0 & r_{1,2}^{2} & 0 & r_{1,1}^{2} \end{bmatrix} \cdot \begin{bmatrix} 1 & \theta & 0 & 0 \\ 1 & \overset{\_}{\theta} & 0 & 0 \\ 0 & 0 & \frac{\overset{\_}{\alpha}}{\alpha} & {\frac{\overset{\_}{\alpha}}{\alpha}\theta} \\ 0 & 0 & \frac{\alpha}{\overset{\_}{\alpha}} & {\frac{\alpha}{\overset{\_}{\alpha}}\overset{\_}{\theta}} \end{bmatrix}} \cdot \begin{bmatrix} \beta_{1}^{1} \\ \beta_{2}^{1} \\ \beta_{1}^{2} \\ \beta_{2}^{2} \end{bmatrix}}} \\ {= {{G_{\alpha,\theta}(R)} \cdot B}} \end{matrix}$

We therefore have:

∥{tilde over (φ)}₁∥²=|ω₁|²+ω₂|²

∥{tilde over (φ)}₂∥²=|ω₃|²+ω₄|²

The search algorithm runs as follows:

Initialization:

Search for the shortest vector of the lattice generated by the columns of G_(α,θ)(R). B_(min) is initialized by the coordinates of one of the shortest vectors of this lattice:

$\left. B_{m\; i\; n}\leftarrow{{Arg}\left( {\underset{\underset{B \neq 0}{B \in {Z{\lbrack i\rbrack}}^{4}}}{Min}{{{G_{\alpha,\theta}(R)} \cdot B}}^{2}} \right)} \right.$

The value of ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥ is calculated for B_(min) this value is annotated ρ.

Search in a List:

We prepare the list, annotated L, of the vectors of the lattice generated by the columns of G_(α,θ)(R) which have a square norm less than or equal to

${\rho \cdot \left( {{\mu } + \frac{1}{\mu }} \right)}\mspace{14mu} {i.e.\text{:}}$ $L = \left\{ {B \in {{{Z\lbrack i\rbrack}^{4}B} \neq {0\mspace{14mu} {such}\mspace{14mu} {that}\mspace{14mu} {{{G_{\alpha,\theta}(R)} \cdot B}}^{2}} \leq {\rho \left( {{\mu } + \frac{1}{\mu }} \right)}}} \right\}$

For each of the elements of the list, we calculate the value of ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥, B_(min) is the element of this list which minimises ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥.

Using Proposition 8, it is evident that the pair (β¹,β²)εZ[i,θ]² obtained using B_(min) minimises the product ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥.

-   -   determination of (β³,β⁴)εZ[i,θ]²:

After having determined the pair (β¹,β²)εZ[i,θ]² which minimises the product ∥{tilde over (φ)}₁∥.∥{tilde over (φ)}₂∥, it suffices to resolve the equation β¹.β³−β².β⁴=1, which has a solution according Proposition 7, in order to determine the pair (β³,β⁴) Z[i,θ]². Such an equation is reduced to a system of 4 equations with 8 unknowns with coefficients in Z, in which solutions are sought in Z⁸. This type of system is easily resolved by putting a rectangular matrix with integer coefficients in HNF form (see H Cohen).

-   -   Second step: balance within the layers:

On completion of the first step, we have:

{tilde over (φ)}={tilde over (R)}.Δ _(α)(β¹,β²,β³,β⁴)

A QR decomposition of {tilde over (φ)} is carried out:

{tilde over (φ)}=U.T

For each layer j (1≦j≦2), we define:

$k_{j} = \left\lfloor {\frac{{\ln \left( t_{{2 \cdot j},{2 \cdot j}} \right)} - {\ln \left( t_{{{{2 \cdot j} + 1},{{2 \cdot j} + 1}}\;} \right)}}{\ln \left( {\mu }^{2} \right)} + 0.5} \right\rfloor$

In this second step, we will use the reduction matrix

Δ_(α)(μ^(−k) ¹ ,0,μ^(−k) ² ,0)

It will be noted that its associated matrix π_(α)(μ^(−k) ¹ ,0,μ^(−k) ² ,0) is certainly in GL₄(Z[i]) thanks to Proposition 4 and to the fact that μ^(−k) ¹ ^(−k) ² is a unit and therefore |N_(Q[i,θ]/Q[i])(μ^(−k) ¹ ^(−k) ² )|=1

-   -   Conclusion of the reduction algorithm.

In conclusion, we define:

{tilde over (ψ)}={tilde over (R)}.Δ _(α)(β¹,β²,β³,β⁴).Δ_(α)(μ^(−k) ¹ ,0,μ^(−k) ² ,0)={tilde over (R)}Δ _(α)(x ¹ ,x ² ,x ³ ,x ⁴)

with x¹=β¹.μ^(−k) ¹ , x²=β².μ^(−k) ¹ , x³=β³.μ^(−k) ² and x⁴=β⁴.μ^(−k) ²

The curve on the single FIGURE has the decoder performances for two values of p (p=1 and p=2) compared with those of the Maximum Likelihood decoder and those of the MMSE-GDFE LLL ZF-DFE decoder. The performances are expressed in PER (Packet Error Rate), depending in the Signal to Noise Ratio (SNR) in dB.

Of course, the invention is not limited to the examples which have just been described and numerous adjustments can be made to these examples without exceeding the scope of the invention. The use of diamond matrices instead of X matrices can be envisaged for basis reduction and for decoding. Furthermore, the first step of the algebraic reduction algorithm may also not be carried out or it can be modified to make it easier to execute. However, to compensate for this drop in quality of the reduction, it will be necessary to take a fairly high value of p. 

1. A method for decoding 2×2 space-time codes of a vector Y, in particular of the Golden Code type, comprising: a filtering of the MMSE-GDFE type is carried out in order to obtain a vector Y^(F)=RX+W, with Y^(F) the vector Y filtered by means of a filter matrix F (“forward filter”), R a conventional matrix named “backward filter”, X the vector transmitted and W the complex noise matrix; a constellation recentring is carried out so that the vector to be determined becomes Z, such that Z=Y^(F)−2K_(M)RΓS₀=2K_(M)RΓS+W, K_(M) being the normalization constant for the constellation in question, Γ being the Golden Code, and S the vector of the information symbols; a step of permutation of the elements of the matrices Z, R and Γ is carried out in order to obtain {tilde over (Z)}, {tilde over (R)} and {tilde over (Γ)} such that {tilde over (R)}^(H)R is a matrix in the form of an X and the complex number “i” is moved from Γ to R; a step of lattice basis reduction is carried out such that {tilde over (Z)}=2K_(M){tilde over (ψ)}{tilde over (Γ)}S′+W with {tilde over (ψ)}={tilde over (R)}.Δ_(α)(x¹,x²,x³,x⁴) and S′=π₊ ⁻¹(x¹,x²,x³,x⁴).S, π_(α)(x¹,x²,x³,x⁴) being a basis change matrix, π_(α)(x¹,x²,x³,x⁴) is the matrix associated with Δ_(α)(x¹, x², x³, x⁴) which is a matrix in which the determinant module is equal to 1 and defined such that Δ_(α) ^(H)Δ_(α) is a matrix in the form of an X; and the ZF-DFE decoding algorithm is applied, in which among the four elements of {tilde over (Z)} two layers are identified, each layer comprising the two elements of the diagonal or anti-diagonal of {tilde over (Z)}; the DFE algorithm is applied layer by layer and the ZF algorithm within each of the layers.
 2. The method according to claim 1, characterized in that the permutation of {tilde over (Z)} is as follows: $\overset{\sim}{Z} = \begin{bmatrix} z_{1,1} \\ z_{2,2} \\ z_{12} \\ z_{2,1} \end{bmatrix}$ with the following convention $Z = {\begin{bmatrix} z_{1,1} \\ z_{2,1} \\ z_{1,2} \\ z_{2,2} \end{bmatrix}.}$
 3. The method according to claim 2, characterized in that {tilde over (R)} is a matrix in the form of an X such that: ${\overset{\sim}{R} = {{\begin{bmatrix} r_{1,1}^{1} & 0 & 0 & {i.r_{1,2}^{1}} \\ 0 & r_{2,2}^{2} & r_{2,1}^{2} & 0 \\ 0 & r_{1,2}^{2} & r_{1,1}^{2} & 0 \\ r_{2,1}^{1} & 0 & 0 & {i.r_{2,2}^{1}} \end{bmatrix}\mspace{14mu} {and}\mspace{14mu} \overset{\sim}{\Gamma}} = {\frac{1}{\sqrt{5}}\begin{bmatrix} \alpha & {\alpha \; \theta} & 0 & 0 \\ \overset{\_}{\alpha} & {\overset{\_}{\alpha}\; \overset{\_}{\theta}} & 0 & 0 \\ 0 & 0 & \alpha & {\alpha \; \theta} \\ 0 & 0 & \overset{\_}{\alpha} & {\overset{\_}{\alpha}\; \overset{\_}{\theta}} \end{bmatrix}}}},$ α and θ being the Golden Code coefficients such that: ${\theta = \frac{1 + \sqrt{5}}{2}},{\overset{\_}{\theta} = \frac{1 - \sqrt{5}}{2}},$ α=1+i−i.θ, α=1+i−i. θ
 4. The method according to claim 1 wherein: ${\Delta_{\alpha}\left( {x^{1\;},x^{2},x^{3},x^{4}} \right)} = \begin{bmatrix} x^{1} & 0 & 0 & {\frac{\alpha}{\overset{\_}{\alpha}}x^{4}} \\ 0 & {\overset{\_}{x}}^{1} & {\frac{\overset{\_}{\alpha}}{\alpha}{\overset{\_}{x}}^{4}} & 0 \\ 0 & {\frac{\alpha}{\alpha}{\overset{\_}{x}}^{2}} & {\overset{\_}{x}}^{3} & 0 \\ {\frac{\overset{\_}{\alpha}}{\alpha}x^{2}} & 0 & 0 & x^{3} \end{bmatrix}$ and ${\Pi_{\alpha}\left( {x^{1},x^{2},x^{3},x^{4}} \right)} = \begin{bmatrix} x_{1}^{1} & x_{2}^{1} & x_{1}^{4} & {x_{1}^{4} - x_{2}^{4}} \\ x_{2}^{1} & {x_{1}^{1} + x_{2}^{1}} & x_{2}^{4} & {- x_{1}^{4}} \\ {x_{1}^{2} + x_{2}^{2}} & {x_{1}^{2} + {2 \cdot x_{2}^{2}}} & {x_{1}^{3} + x_{2}^{3}} & {- x_{2}^{3}} \\ {- x_{2}^{2}} & {{- x_{1}^{2}} - x_{2}^{2}} & {- x_{2}^{3}} & x_{1}^{3} \end{bmatrix}$ where ∀j 1≦j≦4 x^(j)=x₁ ^(j)+θ.x₂ ^(j) (x₁ ^(j) et x₂ ^(j)εZ[i]).
 5. The method according to claim 1, characterized in that Δ_(α) is determined such that, during a QR decomposition, both elements of a single layer are substantially of the same value.
 6. The method according to claim 1, characterized in that {tilde over (Z)} is defined as two layers, a first layer consisting of elements on the diagonal and a second layer consisting of elements on the anti-diagonal, and in that Δ_(α) is determined such that, during a QR decomposition, the product of the two elements of the second layer is greater than the product of the two elements of the first layer.
 7. The method according to claim 6, characterized in that {tilde over (Z)} is defined as two layers, a first layer composed of elements on the diagonal and a second layer composed of elements on the anti-diagonal, and in that during application of the ZF algorithm for the second layer, p possible candidates are extracted, then for the first layer p possible candidates are also extracted and then the best candidate vector is determined.
 8. The method according to claim 7, characterized in that p is equal to
 2. 9. The method according to claim 1, characterized in that {tilde over (R)} and Δ_(α) are X matrices.
 10. The method according to claim 1, characterized in that {tilde over (R)} and Δ_(α) are diamond matrices. 